package cool.ale.errorMessage.config.redis;

import java.util.List;

/***
 * redis操作接口服务类
 *
 * @author dujlc
 * @date 2022/12/3 7:59
 * @since 1.0
 */
public interface AleErrorMessageRedisService {

    /**
     * jedis写入数据
     * @param key       写入数据的key
     * @param value     写入数据的value
     * @return  返回执行状态，成功---OK
     */
    String set(String key, String value);

    /**
     * jedis获取数据
     * @param key       获取数据的key
     * @return      返回获取到的数据
     */
    String get(String key);

    /**
     * jedis批量写入数据
     * @param var       传入进来的批量参数 key1 value1 key2 value2 key3 value3 ...
     * @return      返回执行状态，成功---OK
     */
    String mset(String... var);

    /**
     * jedis批量获取数据
     * @param var       传入进来的批量参数 key1 value1 key2 value2 key3 value3 ...
     * @return      返回输入批量key的结果
     */
    List<String> mget(String... var);

    /**
     * 执行lua脚本
     * @param script        传入的脚本代码
     * @param keys          传入的key值参数列表
     * @param args          传入的value值参数列表
     * @return      返回执行后的结果
     */
    Object eval(String script, List<String> keys, List<String> args);
}